perm filename BNF.PUB[BNF,JRA]1 blob
sn#024554 filedate 1973-02-14 generic text, type T, neo UTF8
COMMENT ⊗ VALID 00004 PAGES
RECORD PAGE DESCRIPTION
00001 00001
00002 00002
00004 00003
00005 00004
00006 ENDMK
⊗;
There are actually three interwoven parsers all constructed by Lynn Quam's
Syntax Directed Input Output program. The parsers are for the programmable
prover, the input language, and for the command language.
The most simple parser extends LISP to recognize the new data types: strategies,
patterns and clauses. Please note that in this language <alt-mode> is not recognized.
.BEGIN VERBATIM
<EXP> ::=<ATOM>
::=[<REM>]
::=(<LST>)
<LST> ::=<EXP><LST>
::=
<REM> ::=CHOICE<ST>
::=DECLARE<DECOP>:<OPLIST>
::=EDIT<ST>
::=CLAUSES<CLAUSES>
::=PATTERN<F1>
.END
<PREDIC>::=ANCESTRY
::=NONE
::=VINE
::=UNIT
::=P1
::=P2
::=SUPPORT[<C>]
::=MODEL[<PREDLST>;<PREDLST>]
::=EQUALITY[<OP>,<NUMBER>]
::=DEMOD[<CLAUSES>,<NUMBER>]
::=DEFMODEL[ID]
::=@<LISPR>
::=<TERM><OPR><TERM>
<PREDLST>
::=<ID>,<PREDLST>
::=<ID>
::=
The routines corresponding to <PREPREDLET>, <INFPREDLET>, <IVAR>, <PREFN>, and
<INFN> check the lists of prefix- and infix- predicate and function letters, and
the variable list, all of which were manufactured by the appropriate declarations.
.BEGIN VERBATIM
<PRED> ::=<PREPREDLET><ITMLST>
::=<TM><INFPREDLET><TM>
<ITMLST>::=(<ITMS>
<ITMS> ::=<TM><ITMS>
::=<TM>)
<TM> ::=<IVAR>
::=<PREFN><ITMLST>
::=<PREFN>
::=(<TM>)
::=<TM><INFN><TM>
.END